#include <common.h>
#include <sysutil.h>
#include <ftpproto.h>
#include <privparent.h>
#include <privsock.h>

void
begin_session(session_t *sess)
{
	//还需要创建一个进程来进行服务
	pid_t pid;
	//需要开启紧急模式
	activate_oobinline(sess->ctrl_fd);
	////初始化内部进程间通信通道
	priv_sock_init(sess);
	pid = fork();
	if(pid < 0) {
		ERR_EXIT("fork");
	}
	if(pid == 0) {
		//child 服务进程
		//这里还是root进程，登陆后这个要变为登陆用户的进程
		priv_sock_set_child_context(sess);
		ftp_proto_process(sess);
	} else {
		//
		priv_sock_set_parent_context(sess);
		ftp_nobody_process(sess);
	}
}

